Skip to content

feat: services stage + Make→Task/mise migration + README overhaul - #11

Merged
AdamJHall merged 3 commits into
mainfrom
feat/services-and-build-tooling
Jun 22, 2026
Merged

feat: services stage + Make→Task/mise migration + README overhaul#11
AdamJHall merged 3 commits into
mainfrom
feat/services-and-build-tooling

Conversation

@AdamJHall

Copy link
Copy Markdown
Owner

Bundles three independent working-tree changes onto one branch (three commits).

1. feat: services stage (Phase B, order 90)

New stage that runs last in Phase B and systemctl enables the units in a new services: config block so they start on the next boot — e.g. a login/display-manager unit like plasmalogin.service.

services:
  enable:                   # system units, enabled as root
    - plasmalogin.service
    - bluetooth.service
  user:                     # per-user units, `systemctl --user enable`
    - syncthing.service
  • Enabling is idempotent; an unset block touches nothing, so existing configs and golden snapshots are unaffected (default-preserves-behaviour).
  • Units are enabled, not --now-started — the typical case is a display manager that should take over on reboot, not be started underneath the current session.
  • Covered by services_test.go (system+user, system-only, empty-skip); registry/--from window tests updated.

2. chore: build tooling — Make → Task + mise

Replaces the Makefile with Taskfile.yml (identical targets) and adds mise.toml to provision Go + task. Workflow comments and settings.local.json updated to match.

3. docs: README overhaul

Restructures the README around the two-phase model with a table-of-contents, per-key configuration reference, stages table, and expanded VM-testing/contributor sections. Also documents the new services stage.

Testing

gofmt -l . clean, go build, go vet ./..., go test ./... all pass.

🤖 Generated with Claude Code

AdamJHall and others added 3 commits June 22, 2026 20:51
Replace the Makefile with a Taskfile.yml (same targets: build/test/vet,
e2e-disks-light/full, vm/vm-fresh/vm-disk) and add mise.toml to provision
Go + task. Update the e2e-disks workflow comments to reference `task`
instead of `make`, and allow the new tooling commands in settings.local.json.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Restructure the README around the two-phase model with a table-of-contents,
a per-key configuration reference, a stages table, and expanded VM-testing /
contributor sections. Also documents the new services stage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New Phase B stage (order 90, runs last after dotfiles + setup) that
`systemctl enable`s the units in a new `services:` config block so they
start on the next boot — e.g. a login/display-manager unit like
plasmalogin.service. `enable` lists system units (enabled as root) and
`user` lists per-user units (enabled with `systemctl --user`). Enabling is
idempotent and unset leaves services untouched, so existing configs and
golden snapshots are unaffected. Units are enabled, not --now-started, to
avoid restarting a display manager underneath the current session.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@AdamJHall
AdamJHall merged commit 0b94417 into main Jun 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant